package a26_Collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * @Author quan
 * @Description Collection的元素遍历方式
 * @Date 2023/2/15 23:27
 */
public class Ergodic {
    public static void main(String[] args) {
        //迭代器遍历：不依赖索引。
        //1、创建集合并添加元素
        Collection<String> col = new ArrayList<>();
        col.add("aaa");
        col.add("bbb");
        col.add("ccc");
        col.add("ddd");
        //2、获取迭代器对象,默认指向集合的0索引处
        Iterator<String> it = col.iterator();
        //3、利用循环不断的获取集合中的每一个元素
        while (it.hasNext()){//判断集合中该位置是否有元素
            //4、next方法的两件事：获取元素并移动指针
            String str = it.next();
            if("bbb".equals(str)){
//                col.remove("bbb");//迭代器遍历的时候(在while循环内不可以，出了循环可以)不能用集合对元素进行删除
                it.remove();//可以使用迭代器提供的remove方法删除
            }
            System.out.println(str);
        }
        //如果要继续第二次遍历集合，只能再次重新获取一个新的迭代器对象
        /*Iterator<String> it2 = col.iterator();
        //3、利用循环不断的获取集合中的每一个元素
        while (it2.hasNext()){//判断集合中该位置是否有元素
            //4、next方法的两件事：获取元素并移动指针
            String str = it2.next();
            System.out.println(str);
        }*/
    }
}
